#pragma once

typedef struct MD5Context 
{
	unsigned long buf[4];
	unsigned long bytes[2];
	unsigned long in[16];
} MD5_CTX;

void 	byteSwap(unsigned char * buf, unsigned words);
void    MD5Init(struct MD5Context *ctx);
void    MD5Update(struct MD5Context *ctx, const void *_buf, unsigned len);
void    MD5Final(unsigned char digest[16], struct MD5Context *ctx);
void	MD5Transform(unsigned long buf[4], unsigned long in[16]);


